# 正则表达式作用是用来对字符串进行检索和替换
# 检索：match search fullmatch finditer findall
# 替换: sub

import re

t = 'afo2dlkf23af345qou3005'
print(re.sub(r'\d', 'x', t))    # afoxdlkfxxafxxxqouxxxx
print(re.sub(r'\d+', 'x', t))   # afoxdlkfxafxqoux

p = 'hello35good23' #把字符串里的数字 *2

# 第一个参数是正则表达式
# 第二个参数是新字符或者一个函数
# 第三个参数需要被替换的原来的字符串

# sub函数内部函数时，会把每一个匹配到的数据以re.Match 的格式传参
print(re.sub(r'\d', lambda x:str(int(x.group(0))*2), p))    # hello610good46
print(re.sub(r'\d+', lambda x:str(int(x.group(0))*2), p))   # hello70good46
